Traditionally, distributed computing environments rely on replication to achieve desired levels of availability and reliability of data used within the environment. However, each additional replication of an object adds to the storage costs of that object. Developers, administrators, and users of a distributed computing environment may try and balance the desire for durability and availability with resource costs to achieve the desired levels.